package com.genexususa.eo.google.data;

import javax.xml.bind.annotation.*;
import java.util.ArrayList;

/**
 * Created with IntelliJ IDEA.
 * User: Emiliano Martinez
 * Date: 2/14/13
 * Time: 2:01 PM
 * To change this template use File | Settings | File Templates.
 */
@XmlAccessorType(XmlAccessType.FIELD)
@XmlRootElement
public class AdGroupReport {
    @XmlElement(name = "BiddingStrategyType")
    public String BiddingStrategyType;

    @XmlElement(name = "CampaignId")
    public Long CampaignId;

    @XmlElement(name = "ContentBid")
    public Double ContentBid;

    @XmlElement(name = "CpcBid")
    public Double CpcBid;

    @XmlElement(name = "PercentCpaBid")
    public Integer PercentCpaBid;

    @XmlElement(name = "Id")
    public Long Id;

    @XmlElement(name = "Name")
    public String Name;

    @XmlElement(name = "CpmBid")
    public Double CpmBid;

    @XmlElement(name = "Status")
    public String Status;

    @XmlElement(name = "TargetCpaBid")
    public Double TargetCpaBid;

    @XmlElementWrapper(name = "Settings")
    @XmlElement(name = "Detail")
    public GA_TargetingSettingDetail[] Details;

    @XmlElementWrapper(name = "AdGroupPlacements")
    @XmlElement (name = "AdGroupPlacement")
    public ArrayList<AdGroupPlacementReport> AdGroupPlacements;

    @XmlElementWrapper(name = "AdGroupTopics")
    @XmlElement (name = "AdGroupTopic")
    public ArrayList<AdGroupTopicReport> AdGroupTopics;

    @XmlElementWrapper(name = "AdGroupInterests")
    @XmlElement (name = "AdGroupInterest")
    public ArrayList<AdGroupInterestReport> AdGroupInterests;

    @XmlElementWrapper(name = "AdGroupGenders")
    @XmlElement (name = "AdGroupGender")
    public ArrayList<AdGroupGenderReport> AdGroupGenders;

    @XmlElementWrapper(name = "AdGroupAges")
    @XmlElement (name = "AdGroupAge")
    public ArrayList<AdGroupAgeReport> AdGroupAges;


    /********** ngonzalez | 11.25.2013 | Collections  ************/
    @XmlElementWrapper(name = "TextAds")
    @XmlElement(name = "TextAd")
    public ArrayList<TextAdReport> TextAds;

    @XmlElementWrapper(name = "ImageAds")
    @XmlElement(name = "ImageAd")
    public ArrayList<ImageAdReport> ImageAds;

    //@XmlElementWrapper(name = "MobileImageAds")
    //@XmlElement(name = "MobileImageAd")
    @XmlTransient
    public ArrayList<MobileImageAdReport> MobileImageAds;

    @XmlElementWrapper(name = "MobileAds")
    @XmlElement(name = "MobileAd")
    public ArrayList<MobileAdReport> MobileAds;

    @XmlElementWrapper(name = "AdGroupKeywords")
    @XmlElement (name = "AdGroupKeyword")
    public ArrayList<AdGroupKeywordReport> AdGroupKeywords;
    /********************************************************************************/

    public AdGroupReport(){
        AdGroupKeywords = new ArrayList<AdGroupKeywordReport>();
        TextAds = new ArrayList<TextAdReport>();
        ImageAds =  new ArrayList<ImageAdReport>();
        MobileImageAds =  new ArrayList<MobileImageAdReport>();
        MobileAds = new ArrayList<MobileAdReport>();

        AdGroupPlacements =  new ArrayList<AdGroupPlacementReport>();
        AdGroupTopics = new ArrayList<AdGroupTopicReport>();
        AdGroupInterests = new ArrayList<AdGroupInterestReport>();
        AdGroupGenders = new ArrayList<AdGroupGenderReport>();
        AdGroupAges = new ArrayList<AdGroupAgeReport>();
    }
}
